home *** CD-ROM | disk | FTP | other *** search
/ MacFormat España 19 / macformat_19.iso / Shareware / Developers / N Game Library1.1.0E(68k) / Button Sample / Button_Sample.c < prev   
Encoding:
C/C++ Source or Header  |  1996-06-23  |  3.2 KB  |  126 lines  |  [TEXT/CWIE]

  1. /*============================================================
  2.  
  3.                     N_Number sample program
  4.                     
  5. ============================================================*/
  6.  
  7. #include            "N_Library.h"
  8.  
  9. void             DoEvent            (EventRecord *eventPtr);
  10. void             DoError            (Str255 errorString);
  11. WindowPtr     CreateWindow         (Str255 name);
  12.  
  13.  
  14. #define        WindowSizeX        640
  15. #define        WindowSizeY        480
  16.  
  17. short        NewWindowX;
  18. short        NewWindowY;
  19.  
  20. short        Data_Rsrc = 0;
  21.  
  22. short        Snd_List0[]     = {1000,1001,0};
  23.  
  24. long            counter1         = 2000;                                        //counter
  25. long            counter2         = 2000;
  26. long            counter3         = 2000;
  27.  
  28.  
  29. void main(void)
  30. {
  31.     WindowPtr    window;
  32.     short        bt;
  33.  
  34.     ToolboxInit();
  35.     ColorCheck();
  36.     window = CreateWindow("\pN Game Library <Button Sample>");
  37.     N_Window_Set(window,NewWindowX,NewWindowY,WindowSizeX,WindowSizeY);            //set up window
  38.     Open_Resource_File(128,1,&Data_Rsrc);
  39.     N_Pict_Draw(128,0,0,(GrafPtr)Main_Window,false);
  40.     N_Pict_Draw(128,0,0,(GrafPtr)Main_Window,true);                                //draw background
  41.     
  42.     N_Button_Init();                                                            //initialize button set
  43.     N_Font_Init();
  44.     N_Sprite_Set(129,0,14,24,1,11,1,0);                                            //set 11sprites (Sp 0 - 10)for number 
  45.     N_Sprite_Set(130,11,32,32,1,6,1,0);                                            //set 6sprites  (Sp 11 - 16)for button
  46.  
  47.     N_Sound_Load(&Snd_List0[0]);    
  48.  
  49.     N_Font_Set(0,0,0,0,0);                                                        //initialize font set
  50.     Close_Resource_File(&Data_Rsrc);
  51.  
  52.     N_Button_Set(0,0,0,40,410,0,11,12,1000,1001);                                    //set up buttons
  53.     N_Button_Set(0,1,0,80,410,0,13,14,1000,1001);
  54.  
  55.     N_Button_Set(0,2,0,160,410,40,11,12,1000,1001);
  56.     N_Button_Set(0,3,0,200,410,40,13,14,1000,1001);
  57.  
  58.     N_Button_Set(0,4,0,280,410,512,11,12,1000,1001);
  59.     N_Button_Set(0,5,0,320,410,512,13,14,1000,1001);
  60.  
  61.     N_Button_Set(0,6,0,410,410,513,15,16,1000,1001);
  62.     N_Button_Set(0,7,0,470,410,514,15,16,1000,1001);
  63.  
  64.     N_Button_Set(0,8,0,562,410,512,15,16,1000,1001);                                //set Quit button
  65.     N_Button_Put(0);
  66.  
  67.     N_Num_Put(counter1,30,320,5,16,0,0,0);                                        //put counters
  68.     N_Num_Put(counter2,150,320,5,16,0,0,0);
  69.     N_Num_Put(counter3,270,320,5,16,0,0,0);
  70.     
  71.     do
  72.     {
  73.         bt = N_Button_Check(0);
  74.     
  75.         if (bt == 1) counter1++;
  76.         if (bt == 3) counter2++;
  77.         if (bt == 5) counter3++;
  78.  
  79.         if (counter1 == 10000) counter1 = 0;
  80.         if (counter2 == 10000) counter2 = 0;
  81.         if (counter3 == 10000) counter3 = 0;
  82.     
  83.         if (bt == 0) counter1--;
  84.         if (bt == 2) counter2--;
  85.         if (bt == 4) counter3--;
  86.     
  87.         if (counter1 == -1) counter1 = 9999;
  88.         if (counter2 == -1) counter2 = 9999;
  89.         if (counter3 == -1) counter3 = 9999;
  90.     
  91.         if(bt != -1)
  92.         {
  93.             N_Num_Put(counter1,30,320,5,16,0,0,0);                                //updates counters
  94.             N_Num_Put(counter2,150,320,5,16,0,0,0);
  95.             N_Num_Put(counter3,270,320,5,16,0,0,0);
  96.         }
  97.     
  98.     }
  99.     while (bt != 8);                                                                //push quit button?
  100.     N_Sound_Close();                                                            //close sound channels
  101.     ColorRevert();
  102. }
  103.  
  104.  
  105.  
  106. WindowPtr CreateWindow (Str255 name)
  107. {
  108.     WindowPtr    window;
  109.     short        centerX,centerY;
  110.     short        windowWidth,windowHeight;
  111.  
  112.  
  113.     window = GetNewWindow (128,nil,(WindowPtr)-1L );
  114.     centerX  = (qd.screenBits.bounds.right -qd.screenBits.bounds.left)/2;
  115.     centerY  = (qd.screenBits.bounds.bottom -qd.screenBits.bounds.top)/2;
  116.     SetWTitle(window,name);
  117.     MoveWindow(window,NewWindowX=centerX-(WindowSizeX/2),NewWindowY=centerY-(WindowSizeY/2),false);
  118.     SizeWindow(window,WindowSizeX,WindowSizeY,TRUE);
  119.  
  120.     ShowWindow(window);
  121.     SetPort((GrafPtr)window );
  122.     return (WindowPtr)window;
  123. }
  124.     
  125.  
  126.